Some types of computing systems are configured to receive and process a plurality of computing tasks (e.g., from different sources). Despite the importance of managing computing tasks in an efficient manner, known methods for allocating computer resources to handle requests to process computing tasks fail to take into account the suitability of different computer resources to handle a given computing task and/or fail to efficiently allocate sub-tasks of a given computing task.